/**
 * Copyright (C), 2002-2017, 上海巧房信息技术有限公司
 * FileName: ElementRuleServiceConvert
 * Author:   yi.li
 * Date:     2018/6/29 17:18
 * Description: 采集规则服务转换器
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.qiaofang.collectmanage.service.util;

import com.qiaofang.collectmanage.dao.domain.ElementRule;
import com.qiaofang.collectmanage.stub.bean.*;
import com.qiaofang.collectmanage.stub.constants.DeletedEnum;

import java.util.Date;
import java.util.UUID;

public class ElementRuleServiceConvert {

    private ElementRuleServiceConvert(){}

    public static ElementRuleDTO convertDomain2DTO(ElementRule elementRule) {
        if (elementRule == null) {
            return null;
        }
        ElementRuleDTO elementRuleDTO = new ElementRuleDTO();
        elementRuleDTO.setId(elementRule.getId());
        elementRuleDTO.setCollectRuleUuid(elementRule.getCollectRuleUuid());
        elementRuleDTO.setDepth(elementRule.getDepth());
        elementRuleDTO.setDepthDesc(elementRule.getDepthDesc());
        elementRuleDTO.setFieldName(elementRule.getFieldName());
        elementRuleDTO.setReturnElement(elementRule.getReturnElement());
        elementRuleDTO.setReturnElementValue(elementRule.getReturnElementValue());
        elementRuleDTO.setReturnValue(elementRule.getReturnValue());
        elementRuleDTO.setCreatedUserId(elementRule.getCreatedUserId());
        elementRuleDTO.setUpdatedUserId(elementRule.getUpdatedUserId());
        elementRuleDTO.setCreatedTime(elementRule.getCreatedTime());
        elementRuleDTO.setUpdatedTime(elementRule.getUpdatedTime());
        elementRuleDTO.setDeleted(elementRule.getDeleted());
        elementRuleDTO.setDeleted(elementRule.getDeleted());
        return elementRuleDTO;
    }

    public static ElementRule convertDTO2Domain(ElementRuleDTO elementRuleDTO) {
        if (elementRuleDTO == null) {
            return null;
        }
        ElementRule elementRule = new ElementRule();
        elementRule.setId(elementRuleDTO.getId());
        elementRule.setCollectRuleUuid(elementRuleDTO.getCollectRuleUuid());
        elementRule.setDepth(elementRuleDTO.getDepth());
        elementRule.setDepthDesc(elementRuleDTO.getDepthDesc());
        elementRule.setFieldName(elementRuleDTO.getFieldName());
        elementRule.setReturnElement(elementRuleDTO.getReturnElement());
        elementRule.setReturnElementValue(elementRuleDTO.getReturnElementValue());
        elementRule.setReturnValue(elementRuleDTO.getReturnValue());
        elementRule.setCreatedUserId(elementRuleDTO.getCreatedUserId());
        elementRule.setUpdatedUserId(elementRuleDTO.getUpdatedUserId());
        elementRule.setCreatedTime(elementRuleDTO.getCreatedTime());
        elementRule.setUpdatedTime(elementRuleDTO.getUpdatedTime());
        elementRule.setDepth(elementRuleDTO.getDeleted());
        return elementRule;
    }

    public static ElementRule convertListDTO2Domain(ListElementRuleDTO elementRuleDTO) {
        if (elementRuleDTO == null) {
            return null;
        }
        ElementRule elementRule = new ElementRule();
        elementRule.setId(elementRuleDTO.getId());
        elementRule.setCollectRuleUuid(elementRuleDTO.getCollectRuleUuid());
        elementRule.setDepth(elementRuleDTO.getDepth());
        elementRule.setDepthDesc(elementRuleDTO.getDepthDesc());
        elementRule.setFieldName(elementRuleDTO.getFieldName());
        elementRule.setReturnElement(elementRuleDTO.getReturnElement());
        elementRule.setReturnElementValue(elementRuleDTO.getReturnElementValue());
        elementRule.setReturnValue(elementRuleDTO.getReturnValue());
        elementRule.setCreatedUserId(elementRuleDTO.getCreatedUserId());
        elementRule.setUpdatedUserId(elementRuleDTO.getUpdatedUserId());
        elementRule.setDeleted(elementRuleDTO.getDeleted());
        return elementRule;
    }

    public static ElementRule convertSaveDTO2Domain(SaveElementRuleDTO saveElementRuleDTO) {
        if (saveElementRuleDTO == null) {
            return null;
        }
        ElementRule elementRule = new ElementRule();
        elementRule.setCollectRuleUuid(saveElementRuleDTO.getCollectRuleUuid());
        elementRule.setDepth(saveElementRuleDTO.getDepth());
        elementRule.setDepthDesc(saveElementRuleDTO.getDepthDesc());
        elementRule.setFieldName(saveElementRuleDTO.getFieldName());
        elementRule.setReturnElement(saveElementRuleDTO.getReturnElement());
        elementRule.setReturnElementValue(saveElementRuleDTO.getReturnElementValue());
        elementRule.setReturnValue(saveElementRuleDTO.getReturnValue());
        elementRule.setCreatedUserId(saveElementRuleDTO.getCreatedUserId());
        elementRule.setUpdatedUserId(saveElementRuleDTO.getUpdatedUserId());
        elementRule.setCreatedTime(new Date());
        elementRule.setUpdatedTime(new Date());
        elementRule.setDeleted(DeletedEnum.NO.getValue());
        return elementRule;
    }

    public static ElementRule convertUpdateDTO2Domain(UpdateElementRuleDTO updateElementRuleDTO) {
        if (updateElementRuleDTO == null) {
            return null;
        }
        ElementRule elementRule = new ElementRule();
        elementRule.setId(updateElementRuleDTO.getId());
        elementRule.setCollectRuleUuid(updateElementRuleDTO.getCollectRuleUuid());
        elementRule.setDepth(updateElementRuleDTO.getDepth());
        elementRule.setDepthDesc(updateElementRuleDTO.getDepthDesc());
        elementRule.setFieldName(updateElementRuleDTO.getFieldName());
        elementRule.setReturnElement(updateElementRuleDTO.getReturnElement());
        elementRule.setReturnElementValue(updateElementRuleDTO.getReturnElementValue());
        elementRule.setReturnValue(updateElementRuleDTO.getReturnValue());
        elementRule.setUpdatedUserId(updateElementRuleDTO.getUpdatedUserId());
        elementRule.setUpdatedTime(new Date());
        elementRule.setDeleted(updateElementRuleDTO.getDeleted());
        return elementRule;
    }
    public static ElementRule convertGetDTO2Domain(GetElementRuleDTO getElementRuleDTO) {
        if (getElementRuleDTO == null) {
            return null;
        }
        ElementRule elementRule = new ElementRule();
        elementRule.setId(getElementRuleDTO.getId());
        return elementRule;
    }

    public static UpdateElementRuleDTO convertSaveDTO2UpdateDTO(SaveElementRuleDTO saveElementRuleDTO) {
        if (saveElementRuleDTO == null) {
            return null;
        }
        UpdateElementRuleDTO updateElementRuleDTO = new UpdateElementRuleDTO();
        updateElementRuleDTO.setCollectRuleUuid(saveElementRuleDTO.getCollectRuleUuid());
        updateElementRuleDTO.setDepth(saveElementRuleDTO.getDepth());
        updateElementRuleDTO.setDepthDesc(saveElementRuleDTO.getDepthDesc());
        updateElementRuleDTO.setFieldName(saveElementRuleDTO.getFieldName());
        updateElementRuleDTO.setReturnElement(saveElementRuleDTO.getReturnElement());
        updateElementRuleDTO.setReturnElementValue(saveElementRuleDTO.getReturnElementValue());
        updateElementRuleDTO.setReturnValue(saveElementRuleDTO.getReturnValue());
        updateElementRuleDTO.setUpdatedUserId(saveElementRuleDTO.getUpdatedUserId());
        return updateElementRuleDTO;
    }

    public static com.qiaofang.collectmanage.domain.ElementRule convertDomain2Domain(ElementRule elementRule) {
        if (elementRule == null) {
            return null;
        }
        com.qiaofang.collectmanage.domain.ElementRule elementRuleTarget = new com.qiaofang.collectmanage.domain.ElementRule();
        elementRuleTarget.setId(elementRule.getId());
        elementRuleTarget.setReturnElement(elementRule.getReturnElement());
        elementRuleTarget.setFieldName(elementRule.getFieldName());
        elementRuleTarget.setReturnElementValue(elementRule.getReturnElementValue());
        elementRuleTarget.setReturnValue(elementRule.getReturnValue());
        elementRuleTarget.setCreatedUserId(elementRule.getCreatedUserId());
        elementRuleTarget.setUpdatedUserId(elementRule.getUpdatedUserId());
        elementRuleTarget.setCreatedTime(elementRule.getCreatedTime());
        elementRuleTarget.setUpdatedTime(elementRule.getUpdatedTime());
        return elementRuleTarget;
    }



}
